a. Field of the Invention
This invention relates to network computing. More specifically, this invention relates to methods and means for providing access to network services (for example, system services such as printing and local storage) to applications executing on network connected computers.
b. Related Art
As the network computing paradigm becomes ubiquitous, simplified inexpensive desktop computers, known as the Network Computers, that have no means of independent existence will become common place. Such devices may run a low function operating system (for simplicity) and rely on servers for basic system services including local storage, printing, and monitoring. While traditional clients, such as PCs, provide their own basic system services they are also likely to seek additional services from the network.
Existing approaches used to provide these basic system services to applications include the existence of a full-feature operating environment on the Network Computer and/or the requirment that each application provide its own set of needed services. The former approach is not feasible for network clients because these computers are not necessarily equipped with adequate physical resources such as physical memory and attached peripheral devices (e.g., disk drives) to support a full-feature operating environment (e.g., in the case of a Network Computer). The latter approach has the drawback of making each application aware of the platform and environment it can be run under so that it can provide support for necessary basic system services. Further, the former approach adds to the cost of the network clients, while the latter approach adds to the complexity in the design of applications.
It is an object of the present invention to provide a flexible, powerful, and portable means for enabling network based services for clients.
In a preferred embodiment, a downloadable middleware called the Virtual Environment Manager (VEM) is provided. The VEM allows applications to be developed completely independently of the architecture and environment of a client computer and the servers it connects to. For a client (i.e., a network computer) to access a service, the VEM queries a Service Directory Table available on one or more connected servers. The access to the Service Directory Table returns a handle, which is used to connect to the indicated service provider.